System, Method and Computer Program Product for Updating Advertising Data for Recorded Video Data

ABSTRACT

A computerized method for advertising, the method comprising: sending a request for replacement advertising to an advertising server when an indicator signals that a replacement advertising data is to be received as an advertising data stream from an advertising server; and receiving replacement advertising data from the DVR when the indicator signals that the replacement advertising data is to be received from storage on the DVR.

CROSS REFERENCE TO RELATED APPLICATIONS

This patent application is a continuation of U.S. patent applicationSer. No. 12/636,717 filed on Dec. 12, 2009, entitled System, Method andComputer Program Product for Updating Advertising Data for RecordedVideo Data by Wilson et al. and is also a continuation of U.S. patentapplication Ser. No. 14/322,089 filed on Jul. 2, 2014 entitled System,Method and Computer Program Product for Updating Advertising Data forRecorded Video Data by Wilson et al., which applications are both herebyincorporated by reference herein in its entirety.

FIELD OF THE DISCLOSURE

The present disclosure relates to the field of advertising and inparticular to updating advertising for recorded video during playback.

BACKGROUND OF THE DISCLOSURE

Advertisers purchase advertisement space or spots in television programsthat are recorded on digital video recorders (DVRs). The televisionbroadcast stations make up a schedule of advertisements and the programsin which the advertisements are to appear. The playback often occurs ata later date, making an advertisement previously recorded with thecontent, out of date.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an illustrative embodiment of a system for updating videoand advertising data;

FIG. 2 depicts an illustrative embodiment of a system for deliveringadvertising data during playback of video data from a DVR using triggersstored in the stored video data;

FIG. 3 depicts a flow chart of functions performed in an illustrativeembodiment for delivering advertising data;

FIG. 4 depicts a flow chart of functions performed in anotherillustrative embodiment for delivering advertising data;

FIG. 5 depicts a data structure embedded in a computer readable mediumin an illustrative embodiment, and

FIG. 6 is an illustrative embodiment of a machine for performingfunctions disclosed in an illustrative embodiment.

DETAILED DESCRIPTION

During the playback of recorded TV programs through an internet protocoltelevision (IPTV) DVR set top box, the playback video stream of therecorded content contains stored SCTE 35 tags that can be utilized totrigger newer advertising events and sent upstream to signal delivery ofreplacement advertising based on conditions existing during playback andin accordance with a playback advertising schedule (PAS). The storedvideo content via stored SCTE 35 triggers or other messaging techniquescan trigger advertising delivery to an end user device such an STBassociated with a DVR for playback along with the stored video contentstored on the STB DVR or through an advertising server based in an IPTVsystem.

An illustrative embodiment of the system, method and computer programproduct permits advertisers to deliver current advertising in place ofolder original advertising data that were recorded along with the videoon the DVR during the original recorded event. By delivering a newcommercial in an older recorded movie or video data, advertisers have anopportunity to present current advertising data and informationincreasing the opportunity for both the IPTV service company and theadvertisers to generate new revenue streams based on the new advertisingsent to the end user device during DVR playback of the recorded data.

By inserting a new updated advertising data, which may be in the form ofa commercial, advertisers will have the opportunity to increase revenuesfrom delivering new advertisement in place of the old recordedadvertisements recorded in the DVR content. The old recorded DVR contentwill contain the recorded SCTE 35 tag's which are stripped out the STBand sent to an advertising server to trigger the replacement advertisingdata to be to be streamed to the STB during playback of the old recordedDVR content, for example, video data. Both advertisers and the companywill have increased opportunities to sell new advertisers from oldrecorded DVR content.

An illustrative embodiment further ensures that companies have anopportunity to continue to invest in improving television advertising bygiving the advertisers a new avenue for displaying new paid advertisingin older recorded content. While the new ad is playing the subscribercannot fast forward and bypass the commercial since it is a live feedsuch as a video stream. In another illustrative embodiment, the set topbox can store on the DVR a variety of updated advertising data to playout live or can be retrieved from a network advertising server. Theadvertising can be sent and stored at anytime on the Set top Box DVR.The older recorded movies or events have stored SCTE 35 recorded tagsthat can trigger the new event. Advertising can be generated and targetspecific events, such as a movie, sports or boxing event that generatehigh advertising revenues.

An illustrative embodiment generates a new revenue stream and a new wayto advertise using old recorded content on the DVR to revolutionizeadvertising through recorded DVR content. Advertisers maintain valueusing new and timely advertising while for older recorded content.Additionally, subscribers cannot fast forward during the livepresentation of the playback advertising data stream. An illustrativeembodiment uses existing stored SCTE 35 tags to trigger streaming of newupdated advertising from the advertising server. Updated advertisingdata can also be stored on allocated DVR storage. Updated advertising isstreamed to the STV by remote advertising server in the IPTV system.During the playback of recorded video data, such as TV programs throughIPTV DVR set top boxes content contains stored SCTE 35 tags that can beutilized to trigger newer advertising events. The stored content viaSCTE 35 or other messaging techniques can trigger advertising playbackalong with stored content on the STB DVR through an advertising serverin the IPTV system. In another illustrative embodiment, the streamingadvertising server is based at the STB.

An illustrative embodiment permits advertisers to stream currentadvertising in place of advertisement data that were recorded during theoriginal recorded event. By streaming a new commercial in an olderrecorded movie, advertisers have an opportunity to present current adinformation increasing the opportunity for both the company andadvertisers to generate new revenue streams. By streaming new updatedadvertising data, advertisers will have the opportunity to increaserevenues from playing/streaming new advertising data to STBs duringreplay of older recorded DVR video data content. The older recorded DVRcontent will contain the original SCTE 35 tag's to trigger theadvertisements to be streamed during playback of the recorded videodata.

A mapping between the original tags identifying original advertisingdata and new tags identifying new replay advertising data is kept in adata structure in a computer readable medium in the advertising server.Both advertisers and the company will have increased opportunities tosell new advertising data which is streamed during replay of oldrecorded DVR content. This will also ensure that companies continue toinvest in television advertising by giving the companies a new avenuefor displaying new paid advertising during replay of older content data.While the new advertisement is playing the subscriber cannot fastforward and bypass the commercial since it is a live advertising datastream feed being streamed to the STB containing the DVR. The set topbox can store via the DVR a variety of advertising to play out or can beretrieved from a network server. The advertising can be streamed liveduring ad avails identified by the advertising triggers. In anotherembodiment, the new advertising data is sent and stored at anytime onthe Set top Box DVR. In this case, during replay of the DVR storedadvertising data, fast forward is disabled for the DVR. The olderrecorded movies or events have stored SCTE 35 recorded tags that cantrigger playing the new advertising data during replay of the recordeddata. Advertising can be generated and target specific events, such as amovie, sports or boxing event that generates high advertising revenues.

In an illustrative embodiment advertising triggers are inserted intovideo stream and stored on a DVR. When the stored video data stream isplayed back, the playback of the recorded video data stream includes thestored advertising signals/triggers indicating when and whichadvertising should be inserted into the video data stream. As thecontent has been recorded, the advertising may no longer be timely whenplayed back at a later date. For example, advertising for “next weekscoming attractions” are out of date two weeks later when the recordedcontent is played back from a DVR. The SCTE 35 and SCTE signaling (alsoreferred to herein as advertising triggers) embedded in the video datais passed through the IPTV network to the STB and DVR. The SCTE 35 andrelated SCTE signaling is recorded in the programming content and bothstored on the DVR. When the recorded programming is played back from theDVR, the embedded SCTE 35 advertising triggers are sensed by the ADSchip in the STB which acts upon the advertising trigger to communicateupstream to the ADS server upstream.

The ADS delivery server communicates to both the ACM billing system andacquires the new advertisement from an advertising server to be playedfrom a local VHO play out server or a national centralized play outserver. The ADS chipset in the STB switches the programming from theoriginal recorded content to the newly inserted advertising contentreceived from the centralized or local play out server. The STBaccommodates SCTE35 event logging so confirmation of the play out can beverified. The SCTE 35 signaling is passed through the IPTV network tothe STB and associated DVR. The SCTE 35 is recorded in the programmingcontent and stored on the DVR. When the recorded programming is playedback the embedded SCTE35 triggers the ADS chip in the STB to communicateupstream to the ADS server. The ADS delivery servers communicates toboth the ACM billing system and acquires the new advertising data to beplayed from a local VHO play out server or the national centralized playout server. The ADS chipset in the STB switches the programming from theoriginal recorded content to the newly inserted ad content received fromthe centralized or local play out server. The STB should accommodateSCTE35 event logging so confirmation of the play out can be verified.(This should be required for local ad insertion currently beingconsidered as a STB solution) Logging should be a mandatory feature.

The advertising triggers may be a Society for Cable Television Engineers(SCTE) 104 trigger, a SCTE 35 or a SCTE 30 trigger. The specificationsfor these triggers are discussed at length in the SCTE 35 AmericanNational Standards Institute (ANSI) standard, the SCTE 30 ANSI standardand the SCTE 104 ANSI standards, all of which ANSI standards are herebyincorporated by reference herein. In a particular illustrativeembodiment, a SCTE trigger is embedded in the vertical ancillary data(VANC) data of an ASI, SDI or HDSDI video data stream. The trigger isdetected and logged in a trigger log. In another embodiment anadvertising identifier is associated with the advertising data. Theadvertising identifier is a unique identifier given to the advertisingdata when it is accepted into the data distribution system fordissemination. The data distribution network, such as an internetprotocol television (IPTV) network sends video data streams to end userdevices which receive, decode and display the video data for viewing bynetwork subscribers.

The present example is a particular illustrative embodiment which usesand IPTV network as an example of implementation. Other illustrativeembodiments may employ different data distribution networks such ascable television networks, satellite networks or the Internet. In thepresent illustrative embodiment, advertising triggers are detected andlogged at various network levels in the hierarchically arranged set ofservers in the IPTV network as well as at the end user device. Thetrigger logs for each of the servers are and the trigger logs for theend user device are compared to the Advertising Schedule associated withthe network level at which the trigger logs is created including the enduser device. Thus a national Playback Advertising Schedule foradvertisements disseminated from the IPTV network at the nationalnetwork level to all end user devices is compared to a trigger log froma sampling of end user devices that received a particular advertisementin the national network Playback Advertising Schedule to verify that theend user device received a trigger for the national advertisement whenplaying back the stored content from the DVR.

A regional Playback Advertising Schedule for advertisements disseminatedfrom the IPTV network at the regional network level to regional end userdevices is compared to a trigger log from a sampling of end user devicesthat received a particular advertisement in the regional networkPlayback Advertising Schedule to verify that the end user devicereceived a trigger for the regional advertisement. A targeted PlaybackAdvertising Schedule for advertisements disseminated from the IPTVnetwork at the local or regional network level to a set of targeted enduser devices is compared to a trigger log from a sampling of targetedend user devices that received a particular advertisement in thetargeted network Playback Advertising Schedule to verify that the enduser device received a trigger for the targeted advertisement.

In another embodiment, an advertising identifier is inserted into thevideo data stream along with the trigger to identify the advertisementwhich is to be inserted or has been inserted into the video data stream.Thus, an advertising insertion device can detect the trigger and insertthe identified advertisement into the video data stream or identify theadvertisement already inserted into the video data stream. An indicatorcan be included to signal the advertising playback device whether or notto playback the advertisement form an IPTV system advertising server orfrom advertising data stored on the DVR. The advertising server thenlogs the occurrence of the trigger, the time of the occurrence and theidentifier for the advertisement into an As Run Log. The various networklevels in the IPTV network including the end user device (STB) generateboth a trigger log and an As Run Log.

In another embodiment, a national Playback Advertising Schedule foradvertisements disseminated from the IPTV network at the nationalnetwork level to all end user devices is compared to an As Run Log froma sampling of end user devices that were scheduled received a particularadvertisement in the national network Playback Advertising Schedule toverify that the end user device received the particular nationaladvertisement. In another embodiment, a regional Playback AdvertisingSchedule for advertisements disseminated from the IPTV network at theregional network level to regional end user devices is compared to an AsRun Log from a sampling of end user devices that were scheduled receiveda particular advertisement in the regional network Playback AdvertisingSchedule to verify that the end user device received the particularregional advertisement.

In another embodiment, a targeted Playback Advertising Schedule foradvertisements disseminated from the IPTV network at the local orregional level to one or more targeted end user devices is compared toan As Run Log from a sampling of end user devices that were scheduled toreceive a particular advertisement in the targeted Playback AdvertisingSchedule to verify that the end user device received the particulartargeted advertisement.

In a particular illustrative embodiment, a SCTE trigger is embedded inthe vertical ancillary data (VANC) data of an asynchronous serialinterface (ASI), serial digital interface (SDI) or high definition SDI(HDSDI) video data stream. The Serial Digital Interface (SDI),standardized in ITU-R BT.656 and SMPTE 259M, is a digital videointerface used for broadcast-grade video. For standard definitionapplications, as defined by SMPTE 259M, some of the possible bit ratesare 270 Mbps, 360 Mbps, 143 Mbps, and 177 Mbps. 270 Mbps is by far themost commonly used; though the 360 Mbps interface (used for widescreenstandard definition) is sometimes encountered. DVB-ASI (Digital VideoBroadcasting-Asynchronous Serial Interface) is frequently used insatellite transmission, inter facility links, and telephonycommunications. DVB-ASI is designed to transport MPEG-2 video streams,primarily for television applications, at up to 270 Mbps. The electricalimplementation of DVB-ASI is similar to serial digital interface (SDI).DVB-ASI is carried at a 270 Mbps line rate consistent with the SDI clockdescribed in SMPTE 259M.

In another embodiment, the SCTE trigger appears within the first fewlines of video data during playback of the stored video data from theDVR. The trigger is detected and logged in a trigger log and sent to theadvertising server. In another embodiment an advertising identifier isassociated with the advertising data. The advertising identifier is aunique identifier given to the advertising data when it is accepted intothe data distribution system for dissemination. The data distributionnetwork, such as an internet protocol television (IPTV) network sendsvideo data streams to end user devices which receive, decode and displaythe video data for viewing by network subscribers.

The present example is a particular illustrative embodiment which usesan IPTV network as an example of implementation. Other illustrativeembodiments may employ different data distribution networks such ascable television networks, satellite networks or the Internet. In thepresent illustrative embodiment, advertising triggers are detected andlogged at various network levels in the hierarchically arranged set ofservers in the IPTV network as well as at the end user device. Thetrigger logs for each of the servers and the trigger logs for the enduser device are compared to the Advertising Schedule associated with thenetwork level at which the trigger log was created including the enduser device. Thus a national Advertising Playback Schedule foradvertisements disseminated from the IPTV network at the nationalnetwork level to all end user devices is compared to a trigger log froma sampling of end user devices that received a particular advertisementin the national network Advertising Playback Schedule during playback ofrecorded video data to verify that the end user device received atrigger for the national advertisement in response to the detection of aSCTE or other advertising trigger in the video data during the playbackof the recorded video data.

A regional Playback Advertising Schedule for advertisements disseminatedfrom the IPTV network at the regional network level to regional end userdevices is compared to a trigger log from a sampling of end user devicesthat received a particular advertisement in the regional networkPlayback Advertising Schedule to verify that the end user devicereceived a trigger for the regional advertisement. A targeted PlaybackAdvertising Schedule for advertisements disseminated from the IPTVnetwork at the local or regional network level to a set of targeted enduser devices is compared to a trigger log from a sampling of targetedend user devices that received a particular advertisement in thetargeted network Playback Advertising Schedule to verify that the enduser device received a trigger for the targeted advertisement.

In another embodiment, an advertising identifier is inserted into thevideo data stream along with the trigger to identify the advertisementwhich is to be inserted or has been inserted into the video data streamduring play back of the recorded video data stream. The insertedadvertisement is not prerecorded data, but rather is streamed live tothe end user device and thus cannot be accelerated by a fast forwardcommand at the DVR.

An advertising playback device can detect the advertising trigger andreceive the identified advertisement in the video data stream oridentify an advertisement already inserted into the playback of therecorded video data stream. An indicator can be included to signal theadvertising playback device whether or not to insert the advertisementor whether it has already been inserted or send the video data streamseparately for reception and playback at the STB associated with the DVRfrom which the video data is being replayed. The advertising insertiondevice then logs the occurrence of the trigger, the time of theoccurrence and the identifier for the advertisement received into an AsRun log. The various network levels in the IPTV network including theend user device (STB) generate both a trigger log and an As Run Log foradvertisements inserted into a playback stream for a prerecorded videodata.

In an illustrative embodiment an Industry Standard Commercial Identifier(ISCI) code is used as the advertising identifier. An ISCI code conformsto a standard used to identify commercial avails (aka “spots”) aired oncommercial television worldwide, for TV stations, ad agencies, videopost-production houses, radio stations and other related entities toidentify commercials for airing. It was first developed in 1970 by andfor American local affiliate TV stations, the TV networks that serve theaffiliates, and ad agencies, to distribute commercial televisionadvertisements more efficiently. The ISCI coding system has beenmaintained and operated by the American Association of AdvertisingAgencies (AAAA) and the Association of National Advertisers (ANA) since1992. Prior to then, ISCI was independently maintained by its users.

An ISCI code is usually a set of 8 characters, the first four beingalphabetic, and the remaining four being numeric, in the format‘ABCD1234’. The alphabetical characters usually represent the advertiser(some examples are QWAN for Wells Fargo Bank™, KOCL (and more recentlyCL) for Coca-Cola™, and PEMX for Pepsi™), and the numeric charactersusually represent the spot itself, with different numbers used foreither different spots, or different versions of the same spot. Forexample, a 30 second spot might have a code of XECA1263, while the samecommercial in a shortened: 20 or: 15 version (or in a different languagesuch as Spanish) might have a slightly different code of XECA1264. TheISCI code is unique to each individual commercial. The slightest changeto an ad will lead to the use of another code. In some cases where aspot is updated or changed or subject to change the suffix R followed bya number indicates a revision. For example, YHTX6265 would be the ISCIused by Home Depot™ for a garden product. If the price changed and thead was the same otherwise, YHTX6265R1 may be used to indicate that it isthe first revision of that spot. ISCI codes are usually printed on thevideo cassette label of a commercial.

Playback Advertising Schedules are provided and used to indicateadvertisements and the programs and times within the programs into whichthey are to be streamed or inserted during playback. The PlaybackAdvertising Schedule is divided into hierarchical segments for national,regional, local and targeted advertisements. Some or all of thenational, regional, local and targeted playback advertisement schedulesare compared to hierarchical national, regional, local and targetedadvertisement trigger logs to verify that a trigger was received andlogged for particular advertisements scheduled in the national,regional, local and targeted advertisement schedules. Each of thenational, regional, local and targeted Playback advertisement schedulesare compared to hierarchical national, regional, local and targetedadvertisement As Run logs to verify that a particular advertisement wasreceived and logged for each advertisement in each of the national,regional, local and targeted advertisement schedules.

In another embodiment, a national Playback Advertising Schedule foradvertisements disseminated from the IPTV network at the nationalnetwork level to all end user devices during playback of recorded videodata is compared to an As Run log from a sampling of end user devicesthat were scheduled to receive a particular advertisement duringplayback in the national network Playback Advertising Schedule to verifythat the end user device received the particular national advertisementduring playback. In another embodiment, a regional Playback AdvertisingSchedule for advertisements disseminated from the IPTV network at theregional network level to regional end user devices is compared to an AsRun log from a sampling of end user devices that were scheduled toreceive a particular advertisement during playback in the regionalnetwork Advertising Schedule to verify that the end user device receivedthe particular regional advertisement during playback.

In another embodiment, a targeted Advertising Schedule foradvertisements disseminated from the IPTV network at the local orregional level to one or more targeted end user devices is compared toan As Run log from a sampling of end user devices that were scheduled toreceive a particular advertisement in the targeted Playback AdvertisingSchedule to verify that the end user device received the particulartargeted advertisement. The end user device, in the present example is amultimedia processor end user device set top box. Multimedia processorend user devices are capable of receiving a video data stream includingaudio and presenting the video and audio as a displayed and audiopresentation at the multimedia processor end user device or a peripheraldevice in data communication with the multimedia processor end userdevice. The multimedia processor end user device may also be selectedfrom a group of devices including but not limited to a cell phone,portable computer, personal data assistant, personal computer orpersonal media player.

In a particular illustrative embodiment, a method is disclosed foradvertising, the method including but not limited to, receiving from adata distribution server, a video data stream at a multimedia processorend user device; storing the video data stream at a digital videorecorder; monitoring a playback of the stored video data stream from thedigital video recorder at the multimedia processor end user device;detecting an advertising trigger in the playback of the video datastream at the multimedia processor end user device; logging a time forthe trigger detected in the video data stream in a trigger log at themultimedia processor end user device; sending the trigger log includingdata to an advertising server so that the advertising verificationsystem can correlate the time the trigger occurred with an advertisingschedule; receiving a replacement advertising data stream from theadvertising server based on the advertising trigger; and receiving areplacement advertising data stream during the playback of the videodata stream from the DVR.

In another illustrative embodiment of the method, the method furtherincludes but is not limited to suspending fast forward commands on theDVR during the streaming of the replacement advertising data stream. Inanother illustrative embodiment of the method, the method furtherincludes but is not limited to reading at the multimedia processor enduser device, a playback advertising identifier in the advertising videodata stream associated with the trigger detected from the replacementadvertising video data stream, the advertising identifier indicatingparticular advertising data being streamed by an advertising server inthe data distribution system; logging the advertising identifier withthe trigger detected and time of day in an As Run Log at the end userdevice; and sending the As Run Log to the data distribution systemserver.

In another illustrative embodiment of the method, the trigger is aSociety for Cable Television Engineers (SCTE) 104 trigger and the videodata stream is a SDI video data stream. In another illustrativeembodiment of the method, the trigger is a SCTE 35 trigger and the videodata stream is an ASI video data stream. In another illustrativeembodiment of the method, the advertising identifier is an internationalstandard code identifier (ISCI) code assigned to the advertising dataand inserted into the video data stream in the data distribution systemserver.

In another illustrative embodiment of the a computer readable medium isdisclosed, containing computer executable instructions that whenexecuted by a processor perform functions uses advertising during replayof recorded data, the computer program including but not limited toinstructions to receive from a data distribution server, a video datastream at a multimedia processor end user device; instructions to storethe video data stream at a digital video recorder; instructions tomonitor a playback of the stored video data stream from the digitalvideo recorder at the multimedia processor end user device; instructionsto detect an advertising trigger in the playback of the video datastream at the multimedia processor end user device; instructions to loga time for the trigger detected in the video data stream in a triggerlog at the multimedia processor end user device; instructions to sendthe trigger log including data to an advertising server so that theadvertising verification system can correlate the time the triggeroccurred with an advertising schedule; and instructions to receive areplacement advertising data stream from the advertising server based onthe advertising trigger during the playback of the video data streamfrom the DVR.

In another illustrative embodiment of the medium, the computer programfurther includes but is not limited to instructions to suspend fastforward commands on the DVR during the streaming of the replacementadvertising data stream. In another illustrative embodiment of themedium, the computer program further includes but is not limited toinstructions to read at the multimedia processor end user device, aplayback advertising identifier in the advertising video data streamassociated with the trigger detected from the replacement advertisingvideo data stream, the advertising identifier indicating particularadvertising data being streamed by an advertising server in the datadistribution system; instructions to log the advertising identifier withthe trigger detected and time of day in an As Run Log at the end userdevice; and instructions to send the As Run Log to the data distributionsystem server. In another illustrative embodiment of the medium, thetrigger is a Society for Cable Television Engineers (SCTE) 104 triggerand the video data stream is a SDI video data stream.

In another illustrative embodiment of the medium, the trigger is a SCTE35 trigger and the video data stream is an ASI video data stream. Inanother illustrative embodiment of the medium, the advertisingidentifier is an international standard code identifier (ISCI) codeassigned to the advertising data and inserted into the video data streamin the data distribution system server.

In another illustrative embodiment, a computer program product isdisclosed, the computer program product including but not limited to aprocessor in data communication with a computer readable medium; and acomputer program embedded in the computer readable medium, the computerprogram comprising computer executable instructions that when executedby a processor perform functions uses advertising during replay ofrecorded data, the computer program including but not limited toinstructions to receive from a data distribution server, a video datastream at a multimedia processor end user device; instructions to storethe video data stream at a digital video recorder; instructions tomonitor a playback of the stored video data stream from the digitalvideo recorder at the multimedia processor end user device; instructionsto detect an advertising trigger in the playback of the video datastream at the multimedia processor end user device; instructions to loga time for the trigger detected in the video data stream in a triggerlog at the multimedia processor end user device; instructions to sendthe trigger log including data to an advertising server so that theadvertising verification system can correlate the time the triggeroccurred with an advertising schedule; and instructions to receive areplacement advertising data stream from the advertising server based onthe advertising trigger during the playback of the video data streamfrom the DVR. In another illustrative embodiment of the computer programproduct, the computer program further includes but is not limited toinstructions to suspend fast forward commands on the DVR during thestreaming of the replacement advertising data stream. In anotherillustrative embodiment of the medium, the computer program furtherincludes but is not limited to instructions to read at the multimediaprocessor end user device, a playback advertising identifier in theadvertising video data stream associated with the trigger detected fromthe replacement advertising video data stream, the advertisingidentifier indicating particular advertising data being streamed by anadvertising server in the data distribution system; instructions to logthe advertising identifier with the trigger detected and time of day inan As Run Log at the end user device; and instructions to send the AsRun Log to the data distribution system server. In another illustrativeembodiment of the computer program product, the trigger is a Society forCable Television Engineers (SCTE) 104 trigger and the video data streamis a SDI video data stream. In another illustrative embodiment of thecomputer program product, the trigger is a SCTE 35 trigger and the videodata stream is an ASI video data stream. In another illustrativeembodiment of the computer program product, the advertising identifieris an international standard code identifier (ISCI) code assigned to theadvertising data and inserted into the video data stream in the datadistribution system server.

Turning now to FIG. 1, an illustrative embodiment of an IPTV system 100is depicted. In an illustrative IPTV system, 100 delivers video dataincluding but not limited to video data content and advertising data tosubscriber households 113 and associated multimedia processor end userdevices (also referred to herein as subscriber or client devices) whichmay be inside or outside of the household. The video data furtherincludes but is not limited to ASI video streams, SDI video streams andHDSDI video streams.

In the IPTV system, IPTV channels are first broadcast in an internetprotocol (IP) from a server at a super hub office (SHO) 101 (nationallevel) to an IPTV video hub office (VHO) server 103 (regional level), toan intermediate office (IO) server 107 (local level) and to a centraloffice (CO) 103 (individual targeted level). The IPTV system providesASI, SDI and HD SDI video data to the multimedia processor end userdevices. The IPTV system 100 includes a hierarchically arranged networkof servers wherein a particular embodiment the SHO transmits video andadvertising data to a video hub office (VHO) 103 and the VHO transmitsto another server location closer to an end user device/subscriber, suchas a CO server 103 or IO 107. In another particular embodiment, each ofthe SHO, VHO, CO and IO are interconnected with an IPTV transport 139.The IPTV transport 139 may consist of high speed fiber optic cablesinterconnected with routers for transmission of internet protocol data.The IPTV servers also provide data communication for Internet and VoIPservices to subscribers.

Actively viewed IPTV channels data are sent in an Internet protocol (IP)data multicast group to access nodes such as digital subscriber lineaccess multiplexer (DSLAM) 109. A multicast for a particular IPTVchannel is joined by the set-top boxes (STBs) at IPTV subscriber homesfrom the DSLAM. Each SHO, VHO, CO, IO and STB includes a server 115,processor 123, a memory 127, network interface 188 and a database 125.The network interface functions to send and receive data over the IPTVtransport. The CO server delivers IPTV, Internet and VoIP content to thesubscriber via the IO and DSLAM. The television content is delivered viamulticast and television advertising data via unicast or multicastdepending on a target television advertising group of end user clientsubscriber devices to which the advertising data is directed. The IPTVnetwork keeps track of which stream are being sent to each STB at thenational, regional, local and individual targeted level at the VHO, RHO,IO and CO respectively.

In another particular embodiment, client devices, also referred toherein as multimedia processor end user devices, are differentstationary and mobile devices, including but not limited to, wire linephones 135, portable phones 133, lap top computers 118, personalcomputers (PC) 110 and STBs 102, 119 which communicate with the datadistribution network i.e., IPTV network through residential gateway (RG)164 and high speed communication lines such as IPTV transport 139. Inanother particular embodiment, DPI devices 166 inspect data VoIP,Internet data and IPTV video, commands and Meta data (multicast andunicast) between the subscriber devices and the IPTV system severs.

In another particular embodiment, the end user devices or subscriberdevices include but are not limited to a client user computer, apersonal computer (PC) 110, a tablet PC, a set-top box (STB) 102, aPersonal Digital Assistant (PDA), a cellular telephone 134, a mobiledevice 134, a palmtop computer 134, a laptop computer 110, a desktopcomputer, a communications device, a wireless telephone, a land-linetelephone, a control system, a camera, a scanner, a facsimile machine, aprinter, a pager, a personal trusted device, a web appliance, a networkrouter, switch or bridge, or any machine capable of executing a set ofinstructions (sequential or otherwise) that specify actions to be takenby that machine. In another particular embodiment, a deep packetinspection (DPI) device 124 inspects multicast and unicast data,including but not limited to VoIP data, Internet data and IPTV video,commands and Meta data between the subscriber devices and betweensubscriber devices and the IPTV system severs.

As shown in FIG. 1 STB groups 112 (comprising a group of subscriberhouse holds 113) receive multicast and unicast advertising data in videodata streams from IO server 107 via CO 103 and DSLAM 109 at STB 102. Ina particular illustrative embodiment, a video data stream is stored onthe digital video recorder (DVR) 119. In another particular embodiment,each STB is configured to perform DVR functionality using memory,processor and data base on board the STB to store the video data alongwith embedded triggers in the video data on the DVR 119. Individualhouseholds 113 receive video data at set top box 102 or one of the otherclient devices. More than one STB (see STB1 102 and STB2 119) can belocated in an individual household 113 and each individual STB canreceive a separate multicast or unicast video stream on IPTV transport139 through DSLAM 109. In a particular embodiment, advertising dataencoding 121 and advertising data insertion 129 are provided in VHO 105.

In another particular illustrative embodiment separate and uniqueadvertising data are displayed at each set top box (STB) 102, 119tailored to target the particular subscriber watching television at thatparticular STB. Each STB 102, 119 have an associated remote control (RC)116 and video display 117. The subscriber via the RC selects channelsfor a video data viewing selection (video programs, games, movies, videoon demand), initiates trick play commands data to the STB/DVR and placesorders for products and services over the IPTV system 100. In aparticular embodiment, an advertisement verification system (AVS) 204runs on the server processor 123. The DVR plays back the video datastored on the DVR along with advertising triggers in the embedded in thestored video data. The advertising triggers are detected at the DVR playback at the STB and reported upstream to an advertising server 189 whichthen supplies a replacement advertising data stream based on thePlayback Advertising Schedule.

Turning now to FIG. 2, as shown in FIG. 2, each hierarchical IPTVnetwork level as well as the end user level include but are not limitedto an Advertising Insertion Device (AID) which functions to detectadvertisement identifiers in a particular video data stream associatedwith advertising triggers in the particular video data stream and logthe advertisement identifier, time of day and video stream identifier inan As Run Log (ARL). Each hierarchical IPTV network level as well as theend user level include but are not limited to a Trigger Logging Device(TLD) which functions to detect and log advertising triggers in aparticular video data stream associated and log the advertising trigger,time of day and video stream identifier in a Trigger Log (TL). Thustriggers and advertisements are monitored and logged in an ARL and TL ateach hierarchical level in the IPTV network, national, regional, localand individual targeted as well as at the STB. Processor and computerreadable media and data bases are provided at each level of the IPTVnetwork including the STB as shown in FIG. 1. The AID and TLD operate asindividual devices at each hierarchical level of the IPTV network and atthe STB. In another embodiment, the AID and TLD operate in processors ateach hierarchical level of the IPTV network and at the STB. The ARL andTL are stored in a computer readable medium at each hierarchical levelof the IPTV network and at the STB.

As shown in FIG. 2, the SHO includes but is not limited to an AVS 204,AID 205, ARL 206, TLD 207 and TL 208. At the SHO, the TLD logs triggersas they occur in the TL storing the time of day, video stream identifierand a TLD identifier for use later in the AVS for verifying that atrigger was sent for a particular advertisement at a particular IPTVnetwork level or multimedia processor end user device. The VHO includesbut is not limited to an AID 215, ARL 216, TLD 217 and TL 218. At theVHO, the TLD logs the triggers as they occur in the TL storing the timeof day, video stream identifier and a TLD identifier for use later inthe AVS for verifying that a trigger was sent for a particularadvertisement at a particular IPTV network level or multimedia processorend user device.

The IO includes but is not limited to an AID 225, ARL 226, TLD 227 andTL 228. At the 10, the TLD logs triggers as they occur in the TL storingthe time of day, video stream identifier and a TLD identifier for uselater in verifying trigger were sent for a particular advertisement at aparticular IPTV network level or multimedia processor end user device.The CO includes but is not limited to an AID 235, ARL 236, TLD 237 andTL 238. At the CO, the TLD logs triggers as they occur in the TL storingthe time of day, video stream identifier and a TLD identifier for uselater in verifying trigger were sent for a particular advertisement at aparticular IPTV network level or multimedia processor end user device.The STB includes but is not limited to an AID 245, ARL 246, TLD 247 andTL 248. At the STB, the TLD logs triggers as they occur in the TLstoring the time of day, video stream identifier and a TLD identifierfor use later in verifying trigger were sent for a particularadvertisement at a particular IPTV network level or multimedia processorend user device. In another embodiment, an AVS is provided at each ofthe SHO, VHO, IO and CO.

A Playback Advertisement Schedule including but not limited toadvertisement identifiers, program placement identifiers, programplacement stream identifiers and time of day is stored at the SHO andused by the AID at the SHO to insert or stream advertising data,advertising triggers and advertising identifiers into the video datastream which is then sent to the VHO at next lower hierarchical networklevel in the IPTV network. The Playback Advertisement Schedule (PAS) islater compared in an AVS to TLs at each IPTV network level including theindividual level at STBs to verify that the triggers were received. Inanother embodiment the Advertisement Schedule is later compared to ARLsin an AVS at each IPTV network level including the individual level atSTBs to verify that the advertisements in the PAS were received. ThePAS, ARL and TL are stored in data structure embedded in a computerreadable medium for the particular hierarchical level for which the AS,ARL or TL is generated (National, Regional, Local, Targeted Individualand STB).

Each TL includes but is not limited to a trigger time of day, videostream identifier and a trigger log identifier which identifies thenetwork level (National, Regional, Local and Targeted Individual) andentity (identifier within the network level, STB ID, CO ID, etc.) thatgenerates a particular AS, ARL or TL. The ARL and TL are reported upstream in the IPTV network through each hierarchical level of thenetwork from the STB up to the SHO. In a particular embodiment, an PASis created at a hierarchical network level and the STB, and each PAS iscompared in an AVS to the ARL and TL for each level in the IPTV networkand end user device to verify that triggers and advertisements werereceived for each advertisement identifier, program placementidentifier, program placement stream identifier and time of day in theAS. An AS can be generated at any level of the IPTV network foradvertisements designated for those end user device served by thenetwork level. Thus a national PAS would be used for the SHO, a regionalPAS for the VHO, a local PAS for the 10 and an individual targeted orsmall group targeted PAS at the CO. A targeted AS is generated when anadvertisement is intended for less than all end users served by aparticular hierarchical level in the IPTV network. Thus a targeted AScan be generated at the National (SHO) 202, Regional 214 (VHO), Local224 (IO) or Targeted Individual/Small Group level 234 (CO) or STB 244.In a particular embodiment, the STB AS is for advertisements sent from afirst STB to a second STB.

Turning now to FIG. 3, a flow chart 300 of functions performed in aparticular illustrative embodiment is shown. The flow chart is exemplaryonly and does not imply or dictate an order of execution or functions tobe performed, as other embodiments may perform only some of thefunctions or other functions entirely and not necessarily in the ordershown in FIG. 3. The flow chart 300 begins at terminal 301 and proceedsto block 302 in which an illustrative embodiment receives from a datadistribution server, the video data stream at the multimedia processorend user device and detects a trigger in the video data stream at themultimedia processor end user device. The flow chart then proceeds toblock 304 in which an illustrative embodiment logs a time for thetrigger detected in the video data stream in a trigger log data base atthe multimedia processor end user device and sends the trigger log database an advertising verification system 104 in the data distributionsystem for correlating the time the trigger occurred with an PlaybackAdvertising Schedule.

The flow chart then proceeds to block 306 in which an illustrativeembodiment reads at the multimedia processor end user device, anadvertising identifier in the video data stream associated with thetrigger detected from the video data stream, the advertising identifierindicating particular advertising data inserted into the video datastream by an advertising insertion device in the data distributionsystem. The flow chart then proceeds to block 306 in which anillustrative embodiment 308 logs the advertising identifier with thetrigger detected and time of day in an As Run data base at the end userdevice and sends the As Run data base to the data distribution systemserver.

Turning now to FIG. 4, a flow chart 400 of functions performed in aparticular illustrative embodiment is shown. The flow chart is exemplaryonly and does not imply or dictate an order of execution or functions tobe performed, as other embodiments may perform only some of thefunctions or other functions entirely and not necessarily in the ordershown in FIG. 4. The flow chart 400 begins at terminal 401 and proceedsto block 402 in which an illustrative embodiment monitors a video datastream at a server in a data distribution system. An illustrativeembodiment detects an advertising trigger in the video data stream at atrigger detection device at the server and logs the trigger in a triggerlog data base at the server a time for the trigger detected in the videodata stream. At block 404 an illustrative embodiment sends the triggerlog data base to an advertising verification system for correlating inthe advertising verification system the time the trigger occurred withas Playback Advertising Schedule data. At block 406 an illustrativeembodiment receives at the server, a trigger log data base from amultimedia processor end user device, and compares an PlaybackAdvertising Schedule to an As Run log created by network advertisinginsertion device in the data distribution system to the trigger log database at the server, to the trigger log data base received from themultimedia processor end user device and to an Playback AdvertisingSchedule to verify that a trigger was received at the advertisinginsertion device at the server and at the trigger detection device inthe data distribution system and at the trigger detection device at themultimedia end user device for advertising in the Playback AdvertisingSchedule. The As Run Log contains data indicating particular advertisingdata inserted by the advertising insertion device in the datadistribution system.

At block 408 an illustrative embodiment receives an As Run Log at theserver from the multimedia processor end user device, wherein the As RunLog contains data indicating particular advertising data received at themultimedia processor end user device and compares the As Run logreceived from the multimedia processor end user device and an PlaybackAdvertising Schedule to verify that a particular advertisement was run.At block 410 an illustrative embodiment compares an As Run log createdby advertising insertion device in the data distribution system to aPlayback Advertising Schedule to verify that an advertisement identifiedin the Playback Advertising Schedule was received at the advertisinginsertion device at the server for all advertising in the advertising inthe Playback Advertising Schedule. In a particular embodiment the As RunLog contains data indicating particular advertising data received at theadvertising insertion device. At block 412 an illustrative embodimentcompares an As Run log created by a targeted advertising insertiondevice at the set top box to a targeted Playback Advertising Schedule ina data distribution system server to verify that a particular targetedadvertisement identified in a targeted Playback Advertising Schedule wasreceived at the multimedia processor end user device. At terminal 414the functions of the particular illustrative embodiment as shown in FIG.4 end.

Turning now to FIG. 5, in a particular illustrative embodiment datastructures 500 embedded in a computer readable medium are provided. Thedata structures 500 include fields for storing data used by anillustrative embodiment of a system, computer program product andmethod. There are three main data structures and Playback AdvertisementSchedule (PAS) 502, Trigger Log (TL) 504 and As Run Log (ARL) 506 whichare stored at each level in the ITPV network (national, regional, localand targeted (individual/small group) and STB). A PAS data 502 structureis created in composite pieces as a data structure for each levelnational 532, regional 534, local 536 and targeted 538 and STB 539. EachPAS data structure includes but is not limited to a first field 508 forstoring data indicating an advertisement identifier. In a particularembodiment the advertisement identifier is an ISCI code. The PAS datastructure further includes but is not limited to a program placementidentifier 510 for identifying a program, such as the “SUPER BOWL™” inwhich the advertisement identified by the advertising identifier 508 isto be placed. The PAS data structure further includes but is not limitedto a program placement stream identifier 512 for identifying a videostream in which a program, such as the “SUPER BOWL™” in which theadvertisement identified by the advertising identifier 508 is to beplaced. The PAS data structure further includes but is not limited to atime of day 514 for identifying a time of day at which the advertisementidentified by the advertising identifier 508 is to be placed the programidentified in the program placement identifier.

A Trigger Log 504 aggregate data structure is created in compositepieces as a data structure for each level, national 540, regional 542,local 544 and targeted 546 and STB 437. Each level TL data structureincludes but is not limited to a first field 518 for storing dataindicating a trigger time of day at which the trigger was identified.The TL data structure further includes but is not limited to a streamidentifier 520 for identifying a video data stream, in which the triggerwas identified. The TL data structure further includes but is notlimited to a trigger log device identifier (TLD ID) 522 for identifyingthe TLD at which the trigger was detected.

An As Run Log (ARL) 506 data structure is created in composite pieces asa data structure for each level national 548, regional 550, local 552,targeted 554 and STB 555. Each ARL data structure includes but is notlimited to a first field 524 for storing data indicating an advertisingidentifier for an advertisement detected in association with a triggertime of day and stream ID in the TL. The TL further includes but is notlimited to a Time of Day (TOD) field 526 for storing data indicating anadvertisement time of day at which the advertisement was identified. TheTL data structure further includes but is not limited to a streamidentifier 528 for identifying a video data stream, in which theadvertisement was identified. The TL data structure further includes butis not limited to an advertising insertion device identifier (AID ID)522 for identifying the AID at which the trigger was detected.

FIG. 6 is a diagrammatic representation of a machine in the form of acomputer system 600 within which a set of instructions, when executed,may cause the machine to perform any one or more of the methodologiesdiscussed herein. In some embodiments, the machine operates as astandalone device. In some embodiments, the machine may be connected(e.g., using a network) to other machines. In a networked deployment,the machine may operate in the capacity of a server or a client usermachine in server-client user network environment, or as a peer machinein a peer-to-peer (or distributed) network environment. The machine maycomprise a server computer, a client user computer, a personal computer(PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant(PDA), a cellular telephone, a mobile device, a palmtop computer, alaptop computer, a desktop computer, a communications device, a wirelesstelephone, a land-line telephone, a control system, a camera, a scanner,a facsimile machine, a printer, a pager, a personal trusted device, aweb appliance, a network router, switch or bridge, or any machinecapable of executing a set of instructions (sequential or otherwise)that specify actions to be taken by that machine.

It will be understood that a device of the present invention includesbroadly any electronic device that provides voice, video or datacommunication. Further, while a single machine is illustrated, the term“machine” shall also be taken to include any collection of machines thatindividually or jointly execute a set (or multiple sets) of instructionsto perform any one or more of the methodologies discussed herein.

The computer system 600 may include a processor 602 (e.g., a centralprocessing unit (CPU), a graphics processing unit (GPU), or both), amain memory 604 and a static memory 606, which communicate with eachother via a bus 608. The computer system 600 may further include a videodisplay unit 610 (e.g., liquid crystals display (LCD), a flat panel, asolid state display, or a cathode ray tube (CRT)). The computer system600 may include an input device 612 (e.g., a keyboard), a cursor controldevice 614 (e.g., a mouse), a disk drive unit 616, a signal generationdevice 618 (e.g., a speaker or remote control) and a network interface.

The disk drive unit 616 may include a machine-readable andcomputer-readable medium 622 on which is stored one or more sets ofinstructions (e.g., software 624) embodying any one or more of themethodologies or functions described herein, including those methodsillustrated in herein above. The instructions 624 may also reside,completely or at least partially, within the main memory 604, the staticmemory 606, and/or within the processor 602 during execution thereof bythe computer system 600. The main memory 604 and the processor 602 alsomay constitute machine-readable and computer-readable media. Dedicatedhardware implementations including, but not limited to, applicationspecific integrated circuits, programmable logic arrays and otherhardware devices can likewise be constructed to implement the methodsdescribed herein. Applications that may include the apparatus andsystems of various embodiments broadly include a variety of electronicand computer systems. Some embodiments implement functions in two ormore specific interconnected hardware modules or devices with relatedcontrol and data signals communicated between and through the modules,or as portions of an application-specific integrated circuit. Thus, theexample system is applicable to software, firmware, and hardwareimplementations.

In accordance with various embodiments of the present invention, themethods described herein are intended for operation as software programsrunning on a computer processor. Furthermore, software implementationscan include, but not limited to, distributed processing orcomponent/object distributed processing, parallel processing, or virtualmachine processing can also be constructed to implement the methodsdescribed herein.

The present invention contemplates a machine readable medium containinginstructions 624, or that which receives and executes instructions 624so that a device connected to a network environment 626 can send orreceive voice, video or data, and to communicate over the network 626using the instructions 624. The instructions 624 may further betransmitted or received over a network 626 via the network interfacedevice 620. The machine readable medium may also contain a datastructure for containing data useful in providing a functionalrelationship between the data and a machine or computer in anillustrative embodiment of the disclosed system and method.

While the machine-readable and computer-readable medium 622 is shown inan example embodiment to be a single medium, the term “machine-readableand computer-readable medium” should be taken to include a single mediumor multiple media (e.g., a centralized or distributed database, and/orassociated caches and servers) that store the one or more sets ofinstructions. The term “machine-readable and computer-readable medium”shall also be taken to include any medium that is capable of storing,encoding or carrying a set of instructions for execution by the machineand that cause the machine to perform any one or more of themethodologies of the present invention. The term “machine-readable andcomputer-readable medium” shall accordingly be taken to include, but notbe limited to: solid-state memories such as a memory card or otherpackage that houses one or more read-only (non-volatile) memories,random access memories, or other re-writable (volatile) memories;magneto-optical or optical medium such as a disk or tape; and carrierwave signals such as a signal embodying computer instructions in atransmission medium; and/or a digital file attachment to e-mail or otherself-contained information archive or set of archives is considered adistribution medium equivalent to a tangible storage medium.Accordingly, the invention is considered to include any one or more of amachine-readable and computer-readable medium or a distribution medium,as listed herein and including art-recognized equivalents and successormedia, in which the software implementations herein are stored.

Although the present specification describes components and functionsimplemented in the embodiments with reference to particular standardsand protocols, the invention is not limited to such standards andprotocols. Each of the standards for Internet and other packet switchednetwork transmission (e.g., TCP/IP, UDP/IP, HTML, and HTTP) representexamples of the state of the art. Such standards are periodicallysuperseded by faster or more efficient equivalents having essentiallythe same functions. Accordingly, replacement standards and protocolshaving the same functions are considered equivalents.

The illustrations of embodiments described herein are intended toprovide a general understanding of the structure of various embodiments,and they are not intended to serve as a complete description of all theelements and features of apparatus and systems that might make use ofthe structures described herein. Many other embodiments will be apparentto those of skill in the art upon reviewing the above description. Otherembodiments may be utilized and derived there from, such that structuraland logical substitutions and changes may be made without departing fromthe scope of this disclosure. Figures are also merely representationaland may not be drawn to scale. Certain proportions thereof may beexaggerated, while others may be minimized. Accordingly, thespecification and drawings are to be regarded in an illustrative ratherthan a restrictive sense.

Such embodiments of the inventive subject matter may be referred toherein, individually and/or collectively, by the term “invention” merelyfor convenience and without intending to voluntarily limit the scope ofthis application to any single invention or inventive concept if morethan one is in fact disclosed. Thus, although specific embodiments havebeen illustrated and described herein, it should be appreciated that anyarrangement calculated to achieve the same purpose may be substitutedfor the specific embodiments shown. This disclosure is intended to coverany and all adaptations or variations of various embodiments.Combinations of the above embodiments, and other embodiments notspecifically described herein, will be apparent to those of skill in theart upon reviewing the above description.

The Abstract of the Disclosure is provided to comply with 37 C.F.R.§1.72(b), requiring an abstract that will allow the reader to quicklyascertain the nature of the technical disclosure. It is submitted withthe understanding that it will not be used to interpret or limit thescope or meaning of the claims. In addition, in the foregoing DetailedDescription, it can be seen that various features are grouped togetherin a single embodiment for the purpose of streamlining the disclosure.This method of disclosure is not to be interpreted as reflecting anintention that the claimed embodiments require more features than areexpressly recited in each claim. Rather, as the following claimsreflect, inventive subject matter lies in less than all features of asingle disclosed embodiment. Thus the following claims are herebyincorporated into the Detailed Description, with each claim standing onits own as a separately claimed subject matter.

What is claimed is:
 1. A computerized method for advertising, the methodcomprising: sending a request for replacement advertising to anadvertising server when an indicator signals that a replacementadvertising data is to be received as an advertising data stream from anadvertising server; and receiving replacement advertising data from theDVR when the indicator signals that the replacement advertising data isto be received from storage on the DVR.
 2. The method of claim 1, themethod further comprising: suspending fast forward commands on the DVRduring the display streaming of the replacement advertising data.
 3. Themethod of claim 1, the method further comprising: reading at amultimedia processor end user device, a playback advertising identifierin an advertising video data associated with a trigger detected from areplacement advertising video data, the advertising identifierindicating particular advertising data; detecting an indicator in thevideo data stream;
 4. The method of claim 1, wherein the trigger is aSociety for Cable Television Engineers 104 trigger.
 5. The method ofclaim 1, wherein the trigger is a Society for Cable Television Engineers35 trigger.
 6. The method of claim 2, wherein the advertising identifieris an international standard code identifier code assigned to theadvertising data and inserted into the video data stream in a datadistribution system server.
 7. A non-transitory computer readablemedium, containing computer executable instructions that when executedby a processor perform functions that stream video data advertisingduring replay of recorded data, the computer program comprising:instructions send a request for replacement advertising to anadvertising server when the indicator signals that the replacementadvertising data is to be received as an advertising data stream from anadvertising server; and
 8. The medium of claim 6, the computer programfurther comprising: instructions to suspend fast forward commands on theDVR during the streaming of the replacement advertising data.
 9. Themedium of claim 6, the computer program further comprising: instructionsto receive replacement advertising data from the DVR when the indicatorsignals that the replacement advertising data is to be received fromstorage on the DVR.
 10. The medium of claim 6, the computer programfurther comprising: instructions to detect an indicator in the videodata stream; instructions to read at a multimedia processor end userdevice, a playback advertising identifier in an advertising video dataassociated with a trigger detected from a replacement advertising videodata, the advertising identifier indicating particular advertising data;11. The medium of claim 6, wherein the trigger is a Society for CableTelevision Engineers 104 trigger.
 12. The medium of claim 6, wherein thetrigger is a Society for Cable Television Engineers 35 trigger.
 13. Themedium of claim 6, wherein the advertising identifier is aninternational standard code identifier code assigned to the advertisingdata and inserted into the video data stream in the data distributionsystem server.
 14. A computer program product, comprising: a processorin data communication with a tangible computer readable medium; acomputer program embedded in the tangible computer readable medium, thecomputer program comprising computer executable instructions that whenexecuted by a processor perform functions to replace advertising dataduring replay of recorded video data, the computer program comprising:instructions to send a request for replacement advertising to anadvertising server when the indicator signals that the replacementadvertising data is to be received as an advertising data stream from anadvertising server; and instructions to receive replacement advertisingdata from the DVR when the indicator signals that the replacementadvertising data is to be received from storage on the DVR.
 15. Thecomputer program product of claim 14, the computer program furthercomprising: instructions to suspend fast forward commands during thedisplay of the replacement advertising data stream.
 16. The computerprogram product of claim 14, the computer program further comprising:instructions to read at a multimedia processor end user device, aplayback advertising identifier in an advertising video data associatedwith a trigger detected from a replacement advertising video data, theadvertising identifier indicating particular advertising data;instructions to detect an indicator in the video data stream;
 17. Thecomputer program product of claim 14, wherein the trigger is a Societyfor Cable Television Engineers 104 trigger.
 18. The computer programproduct of claim 14, wherein the trigger is a Society for CableTelevision Engineers 35 trigger.
 19. The computer program product ofclaim 14, wherein the advertising identifier is an internationalstandard code identifier code assigned to the advertising data andinserted into the video data stream in the data distribution systemserver.